자바 가상 머신 지원 언어
보이기
자바 가상 머신 지원 언어는 컴퓨터 프로그래밍 언어로 자바 가상 머신 위에서 실행될 수 있도록 바이트코드를 생성하거나 자바 가상 머신 위에서 실행되는 인터프리터를 지원하는 언어를 말한다.
자바 가상 머신을 위한 새로운 언어
[편집]언어 | 설명 | 홈페이지 |
---|---|---|
Alef++ | 객체 지향 프로그래밍 언어로 펄(Perl)과 리스프(Lisp) 문법을 따온 언어 | [1] |
AspectJ | 자바 언어의 관점 지향 프로그래밍 확장 | [2] |
빈셸 BeanShell |
자바 문법을 유사하게 따르는 동적 스크립트 언어 | [3] |
CAL | 쿼크 프레임워크(Quark Framework)의 일부로 하스켈, 클린(Clean)[1], 자바에 영향을 받은 함수 언어. 자바 바이트코드로 컴파일할 수도 있으나 인터프리터도 포함되어 있다. | 오픈 쿼크 |
클로저 Clojure |
리스프의 방언으로 다중 스레드 프로그래밍을 쉽게 하는 등의 특징을 가진 함수 언어이다. 동적 타입 언어이나 타입 추론과 선택적으로 기입하는 타입 힌트를 이용해서 효율적인 바이트코드를 생성한다. | [4] |
E | 자바 가상 머신과 커먼 리스프 양 쪽을 타겟으로 하는 언어 | E |
팬톰 Fantom |
자바와 C# 문법과 유사한 언어로 자바 가상 머신과 .NET CLR, 자바스크립트를 타겟으로 지원하며 자바 표준 API와 별개로 독자적인 표준 API를 가지고 있어서 동일 코드를 모든 타겟에서 실행할 수 있다. | |
포트리스 Fortress |
고성능 컴퓨팅을 위한 언어로 현재 자바 상에서 실행되는 참조 인터프리터 구현이 제공되며 일부 자바 프로그램과의 연동이 가능하다. 하지만 자바를 위해 설계된 언어라고 보기는 어렵다. | [5] |
프링크 Frink |
자바 가상 머신 위에서 실행되는 계산 도구 겸 프로그래밍 언어로 계산식에서 별도 파일에 정의된 여러 수, 길이, 무게 등을 위한 단위를 명시할 수 있는 것이 특징이다. | [6] |
고수 Gosu |
자바 가상 기계를 타겟으로 하는 객체 지향 언어로 정적 타입을 사용하고 타입 추론(type inference)과 클로저(closure)를 지원한다. 언어를 만든 회사가 실제 기업용 상용 시스템에 적용하고 있다는 것이 특기할 만한 점이다. | [7] |
그루비 Groovy |
자바를 염두에 두고 설계된 객체 지향 스크립트 언어로 루비 (프로그래밍 언어)와 파이썬, 스몰토크 등에 영향을 받아 설계되었다. 그레이들(Gradle) 같은 많은 빌드 도구, 그레일즈(Grails) 같은 웹 프레임워크 등이 그루비로 작성되었다. | |
헤클 Hecl |
자바 ME를 위한 스크립트 언어 | [8] |
Ioke | 프로토타입 기반 언어로 Io, 스몰토크, 리스프, 루비 등에 영향을 받아 만들어졌고 현재 JVM과 공통 언어 런타임을 지원한다. | |
자스켈 Jaskell |
하스켈에서 영향을 받은 지연된 계산(lazy evaluation)을 하는 스크립트 언어이다. | [9] |
젤리 Jelly |
아파치 프로젝트의 하나이며 자바 플랫폼에서 실행되며 XML 문법을 사용한 스크립트 언어이다. | [10] |
쥬도스크립트 Judoscript |
함수 언어로 범용 언어이기도 하지만 JDBC, WSDL 등 특정 영역에 맞는 스크립팅을 위한 언어로 설계되었다. 자바스크립트와 문법이 일부 유사하다. | [11] |
코틀린 Kotlin |
IntelliJ IDEA 통합 개발 도구로 유명한 젯브레인즈(JetBrains)에서 개발 중인 정적 타입 언어로 실행 시에 타입 정보가 유지되는 제네릭스(generics) 등 유용한 특징을 가지면서도 스칼라보다는 단순한 언어로 설계되고 있다. 아직 문서 외에 개발 도구가 공개되지는 않았으나 2011년말 경 공개될 때 IntelliJ IDEA 자체에 코틀린 언어 지원이 포함될 예정이다. 신생 언어로서 통합 개발 환경이 지원되는 것은 언어 수용에 큰 이점으로 작용할 것으로 기대된다. | [12] |
미라 Mirah[2] |
JRuby의 제작자가 만든 언어로 루비의 문법을 기반으로 한 정적 타입 언어이다. | [13] Archived 2010년 7월 16일 - 웨이백 머신 |
스칼라 Scala |
스위스 로잔 공대(École Polytechnique Fédérale de Lausanne)의 마틴 오더스키(Martin Odersky)가 설계한 정적 타입 언어로 함수 프로그래밍과 객체 지향 프로그래밍을 혼합한 것이 특징이다. 마틴 오더스키는 현재 자바 제네릭스(generics) 설계와 개발에 기어한 바 있다. 자바 가상 기계를 주요 목표 시스템으로 하지만 최근 마이크로소프트의 지원으로 .NET 판도 개발 중이다. 스칼라는 현재 트위터, 포스퀘어 등의 사이트에서 사용되는 등 자바 가상 기계 기반 언어 중 가장 주류로 편입된 언어로 평가 받는다. | [14] |
기존 언어의 자바 가상 머신 상 구현
[편집]언어 | 자바 구현 | 홈페이지 |
---|---|---|
에이다 | JGNAT | [15] |
AWK | Jawk | [16] |
C | C to JVM 컴파일러 | 일례로 AMPC project |
클린(Clean)[1] | CleanJ | [17] |
코볼 | isCOBOL | 베리얀트 isCOBOL |
콜드퓨전 | 어도비 콜드퓨전(MX, 즉, 버전6부터 자바 기반으로 재작성) | |
레일로(Railo) | [18] | |
오픈 블루드래곤(Open BlueDragon) | [19] | |
커먼 리스프(Common Lisp) | 암드 베어 커먼 리스프(Armed Bear Common Lisp, 줄여서 ABCL) | [20] |
CLforJava(자바를 위한 커먼 리스프) | [21] | |
Jatha | [22] | |
컴포넌트 파스칼 | 가든즈 포인트 컴포넌트 파스칼(Gardens Point Component Pascal) | [23] |
얼랭 | Erjang | [24] |
포스 | 홀론J(HolonJ, JVM용 포스 컴파일러) | [25] |
자바스크립트 | 모질라 라이노(Mozilla Rhino) | |
로고 | jLogo | [26] |
XLogo | [27] | |
루아 | 루아자바(LuaJava) | [28] |
칼루아(Kahlua) | [29] | |
질(Jill, Java Implementation of Lua Language) | [30] | |
오베론-2 | JOB | [31] |
Objective Caml (OCaml) | OCaml-자바 | [32] |
PHP | IBM 웹스피어 s매시(WebSphere sMash) PHP (P8) | [33] |
카우쵸 쿼커스(Caucho Quercus) | [34] | |
파이썬 | 자이썬 | |
REXX | IBM NetRexx | [35] |
루비 | JRuby | [36] |
스킴 | Kawa | [37][3] |
SISC | [38] | |
JScheme | [39] | |
Tcl | Jacl | Tcl/자바 프로젝트 페이지(Jacl 포함) |
JTcl | [40] |